﻿//-----------------------------------------------------------------------
// <copyright file="SqlColumn.cs" company="LMT">
//     Copyright (c) by La Minh Thuận.
// </copyright>
// <author>thuanla1985@hotmail.com</author>
//-----------------------------------------------------------------------
namespace LMT.Db.OleDbClient
{
    using System.Data.OleDb;

    /// <summary>
    /// An attribute for oracle table colum information.
    /// </summary>
    public class OleDbColumn : DbColumn
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="Column"/> class.
        /// </summary>
        /// <param name="colName">Name of the col.</param>
        /// <param name="dbType">Type of the OLE db.</param>
        /// <param name="colSize">Size of the col.</param>
        public OleDbColumn(string colName, OleDbType dbType, ushort colSize) 
            : base(colName, dbType, colSize)
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="Column"/> class.
        /// </summary>
        /// <param name="colName">Name of the col.</param>
        /// <param name="OracleType">Type of the OLE db.</param>
        /// <param name="colSize">Size of the col.</param>
        /// <param name="isPrimaryKey">if set to <c>true</c> [is primary key].</param>
        public OleDbColumn(string colName, OleDbType dbType, ushort colSize, bool isPrimaryKey) 
            : base(colName, dbType, colSize, isPrimaryKey)
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="Column"/> class.
        /// </summary>
        /// <param name="colName">Name of the col.</param>
        /// <param name="oracle">Type of the OLE db.</param>
        /// <param name="colSize">Size of the col.</param>
        /// <param name="isPrimaryKey">if set to <c>true</c> [is primary key].</param>
        /// <param name="isUseSysDate">if set to <c>true</c> [is use database system date].</param>
        public OleDbColumn(string colName, OleDbType dbType, ushort colSize, bool isPrimaryKey, bool isUseSysDate)
            : base(colName, dbType, colSize, isPrimaryKey, isUseSysDate)
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="Column"/> class.
        /// </summary>
        /// <param name="colName">Name of the col.</param>
        /// <param name="oracle">Type of the OLE db.</param>
        /// <param name="colSize">Size of the col.</param>
        /// <param name="isPrimaryKey">if set to <c>true</c> [is primary key].</param>
        /// <param name="isUseSysDate">if set to <c>true</c> [is use database system date].</param>
        /// <param name="isParseUpdate">if set to <c>true</c> [is parse update].</param>
        public OleDbColumn(string colName, OleDbType dbType, ushort colSize, bool isPrimaryKey, bool isUseSysDate, bool isParseUpdate)
            : base(colName, dbType, colSize, isPrimaryKey, isUseSysDate, isParseUpdate)
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="Column"/> class.
        /// </summary>
        /// <param name="colName">Name of the col.</param>
        /// <param name="oracle">Type of the OLE db.</param>
        /// <param name="colSize">Size of the col.</param>
        /// <param name="isPrimaryKey">if set to <c>true</c> [is primary key].</param>
        /// <param name="isUseSysDate">if set to <c>true</c> [is use database system date].</param>
        /// <param name="isParseUpdate">if set to <c>true</c> [is parse update].</param>
        /// <param name="isUseDbSequence">if set to <c>true</c> [is use db sequence].</param>
        public OleDbColumn(string colName, OleDbType dbType, ushort colSize, bool isPrimaryKey, bool isUseSysDate, bool isParseUpdate, bool isUseDbSequence)
            : base(colName, dbType, colSize, isPrimaryKey, isUseSysDate, isParseUpdate, isUseDbSequence)
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="Column"/> class.
        /// </summary>
        /// <param name="colName">Name of the col.</param>
        /// <param name="oracle">Type of the OLE db.</param>
        /// <param name="colSize">Size of the col.</param>
        /// <param name="isPrimaryKey">if set to <c>true</c> [is primary key].</param>
        /// <param name="isUseSysDate">if set to <c>true</c> [is use database system date].</param>
        /// <param name="isParseUpdate">if set to <c>true</c> [is parse update].</param>
        /// <param name="isUseDbSequence">if set to <c>true</c> [is use db sequence].</param>
        /// <param name="isParseInsert">if set to <c>true</c> [is parse insert].</param>
        public OleDbColumn(string colName, OleDbType dbType, ushort colSize, bool isPrimaryKey, bool isUseSysDate, bool isParseUpdate, bool isUseDbSequence, bool isParseInsert)
            : base(colName, dbType, colSize, isPrimaryKey, isUseSysDate, isParseUpdate, isUseDbSequence, isParseInsert)
        {
        }
    }
}